Skip test_libarchive_ignore_device_file if we cannot write xattrs
authorSimon McVittie <smcv@debian.org>
Fri, 11 Mar 2016 09:09:48 +0000 (09:09 +0000)
committerColin Walters <walters@verbum.org>
Mon, 21 Mar 2016 17:02:49 +0000 (13:02 -0400)
The test tries to get a filesystem that supports xattrs by writing
to /var/tmp, but in some automated build environments the entire
build chroot is on a tmpfs.

Signed-off-by: Simon McVittie <smcv@debian.org>
tests/test-libarchive-import.c

index 928b14919e15fa295ca6a5e5f003dae93498e99b..877fa77cf9e868bbefba6c8f38b3056c5b5add29 100644 (file)
@@ -193,6 +193,15 @@ test_libarchive_ignore_device_file (gconstpointer data)
   glnx_unref_object GFile *root = NULL;
   g_autofree char *commit_checksum = NULL;
 
+  if (setxattr (td->tmpd, "user.test-xattr-support", "yes", 4, 0) != 0)
+    {
+      int saved_errno = errno;
+      g_autofree gchar *message = g_strdup_printf ("unable to setxattr on \"%s\": %s", td->tmpd, g_strerror (saved_errno));
+
+      g_test_skip (message);
+      goto out;
+    }
+
   g_assert_cmpint (0, ==, lseek (td->fd, 0, SEEK_SET));
   g_assert_cmpint (0, ==, archive_read_support_format_all (a));
   g_assert_cmpint (0, ==, archive_read_support_filter_all (a));